Computer networking systems that include various data processing elements are essential for processing large amounts of data, and automated processes related to the exchange of information. Examples of tasks related to these data processing activities may include printing documents, converting multimedia files or data streams into a desired data format, and delivering certain data content to a user.
Subsets of video, audio, and multimedia files may be located on the user's computer, the Internet and other data storage locations (i.e., such as websites that specialize in content, for example, Youtube® or Hulu®). The user may desire to convert these files to a different format, size and may also desire to deliver those converted files to a specific network location.
Recent changes made to software tools allow users to produce documents and multimedia files with very specific details tailored to each particular user. For example, individual users may want to have certain files processed (e.g., printed), and the results delivered to a location where the user will be the next day. In large and medium sized organizations, the amount of printed information is substantially large, and often it is necessary to separate documents which must be printed quickly with special requirements (i.e., in color poster format) from those that can be printed at a later time (i.e., black and white data specifications that are not likely to be read at all). Any of these tasks can be accomplished through a number of simple but time consuming operations, which can make the process ineffective. Information processing resources may also be shared (e.g., printing, server applications, etc.) more effectively so that costs are kept to a minimum.
Information processing costs can be estimated by assessing first the cost of processing small subsets of information. For example, when attempting to draw (or print) a complicated shape, it is helpful at first to represent the form with a set of primitive shapes. Almost any form can be represented by some combination of the cube, sphere, cylinder, and cone, which are called drawing primitives. Several types of technologies currently exist that deal with problems related to printing documents.
In one example, a method for analyzing the execution times of drawing primitives may be performed. The method allows the host computer to determine whether the printer connected to the host computer will be able to render drawing primitives in real-time. Additionally, the cost metrics associated with printing drawing primitives are also measured and are used to determine whether such printing of a document can be accomplished in real-time.
However, processing information (i.e., printing) encounters additional challenges when being implemented in a multi-computer environment with shared printing resources. For instance, in a large organization a number of computer users will be sending print jobs to only a few printers available for printing. Each print job generally has unique requirements, such as, time during which the print job must be completed, color quality (e.g., gray scale, black and white, or full color), print size and format, etc. These and other unique requirements make the task of selecting an effective printing strategy a necessary part of optimizing network resources.
Due to the increased cost savings sought by many organizations using printing services, utilizing a method for providing an effective printing computer system is apparent. Similar challenges related to processing and delivering multimedia files to users of network services are also encountered when dealing with larger data networking systems.